#include<iostream>

using namespace std;
const int N=12;
int nums[N];
bool arr[N];
int n,k;
int ret=0;
bool isprime(int x) {
    if (x < 2) return false;
    for (int i = 2; i * i <= x; i++) { // 优化质数判断
        if (x % i == 0) return false;
    }
    return true;
}
void dfs(int pos,int size,int sum)
{

	if(size==k)
	{
		if(isprime(sum))
		{
			ret++;
		}
		return;
	}
	if(pos>n)
	{
		return;
	}
	dfs(pos+1,size,sum);
	dfs(pos+1,size+1,sum+nums[pos]);
}
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>nums[i];
	}
	dfs(1,0,0);
	cout<<ret<<endl;
}